package com.shopping.commons.util;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonUtil {
	
	public static String mapTOString(Map map){
		JSONObject jsonObject = JSONObject.fromObject(map);  
		return jsonObject.toString();
	}

	
	/**
	 * json字符串转为list对象  注意：只能嵌套一层对象，不然会报错
	 * @Description: json字符串转为list对象
	 * @param str
	 * @param clazz
	 * @return
	 * @throws Exception
	 * List<T>
	 * @author hongdan_tong@dayhr.com
	 * @date 2016年12月5日
	 */
	public static <T> List<T> jsonToList(String str,Class<T> clazz) throws Exception{
		JSONArray jsonArray=null;
		str=str.replace("&quot;", "\"");
		jsonArray = JSONArray.fromObject(str); 
        @SuppressWarnings("unchecked")
		List<T> objlist = (List<T>)JSONArray.toCollection(jsonArray, clazz); 
        return objlist ;
	}
	
	/**
	 * 先转成list然后取第一个Obj
	 * @param str
	 * @param clazz
	 * @author yanhuajun
	 * @return 
	 * @date 2017年3月1日
	 */
	public static <T> T jsonToObject(String str,Class<T> clazz){
		JSONArray jsonArray=null;
		str=str.replace("&quot;", "\"");
		str="["+str+"]";
		jsonArray = JSONArray.fromObject(str); 
		@SuppressWarnings("unchecked")
		List<T> objlist = (List<T>)JSONArray.toCollection(jsonArray, clazz); 
		if(objlist!=null&&!objlist.isEmpty()){
			return objlist.get(0);
		}
        return null ;
	}
	
}
